Microsoft's IEEE 1667 Password Silo authentication protocol requires both the host that wishes to access data stored on a device and the device to prove to each other that it knows the password being authenticated. According to the 1667 protocol, this is done by having each party provide a random challenge to the other, and then returning a hash of the other party's challenge combined with the password. In order for the device to verify that the host knows the correct password, the device itself must also know and store a copy of the password. This is a reasonable condition for most unencrypted products: since the user's data is not encrypted, the device may store its copy of the password in non-volatile memory that is only a little more secure than the user's data.
However, passwords for data encryption products must be secured at least as well as the data encryption key (DEK) and the encrypted data itself. If the product is designed so the access credentials reside solely with the user, then the device itself must not contain any passwords or keys that can be used to access the user's data. Indeed, a thief should not be able to disassemble and analyze the device and discover the necessary information that would enable him or her to decrypt the stored encrypted data. Moreover, an interloper listening in between the host and the device should not be able to capture any information exchanged between the host and the device that would allow him or her to later become authenticated by the device and decrypt the encrypted data stored by the device.